package com.kl.drs.service;

import java.util.List;
import java.util.Map;

import com.kl.drs.bean.bo.CCBLCContBO;
import com.kl.drs.bean.bo.DrsLdcomRelationBO;
import com.kl.drs.bean.bo.LaAgentBO;
import com.kl.drs.bean.bo.RelationIdBO;
import com.kl.drs.bean.bo.RelationMappingBO;
import com.kl.drs.bean.bo.TaskInfoBO;
import com.kl.drs.bean.dto.CoreInfoDTO;
import com.kl.drs.bean.dto.PSBCInfoDTO;

/**
 * 银行对接
 * @author WYN
 *
 */
public interface BankButtjointService {
	/**
	 * 新增关联证件
	 */
	public int addIdTypeRelService(RelationIdBO relationIdBO);
	/**
	 * 新增关联编码
	 */
	public int addMappingTypeRelService(RelationMappingBO relationMappingBO);
	/**
	 * 查询核心数据（建行）
	 */
	public List<CCBLCContBO> queryCoreInfoService(String contNo);
	/**
	 * 查询证件关联（证件类型和证件编码）
	 */
	public RelationIdBO queryIdTypeRelService(Map<String, String> condMap);
	/**
	 * 查询关联机构(机构编码和机构类型)
	 */
	public RelationMappingBO queryMappingTypeRelService(Map<String, String> condMap);
	/**
	 * 对接工行业务
	 */
	public void buttjointICBCService(String bankType) throws Exception;
	/**
	 * 查询邮储核心列表信息
	 */
	public List<PSBCInfoDTO> queryPsbcCoreInfoService(String contNo);
	/**
	 * 对接中国邮储业务
	 */
	public void buttjointPSBCService(String bankType);
	/**
	 * 建根据流水号查询业务(建行)
	 */
	public CCBLCContBO queryContNo(String serialNo);
	/**
	 * 根据保单号查询险种和缴费信息(建行)
	 */
	public List<CCBLCContBO> queryCoreRisk(String contNo);
	
	/**
	 * 联查查询关联机构
	 * @param relationCode
	 * @param bankRelationType
	 * @param reRelationType
	 * @return
	 */
	public String queryIdcodeByUnion(String relationCode,String bankRelationType,String reRelationType);

	
	/**
	 * 条件查询核心新单数据
	 * @param queryMap
	 * @return
	 */
	public CoreInfoDTO queryCoreLCbyBusinessNo(Map<String, String> queryMap);
	
	/**
	 * 条件查询核心（撤单、犹退、退保）数据
	 * @param queryMap
	 * @return
	 */
	public CoreInfoDTO queryCoreLBbyBusinessNo(Map<String, String> queryMap);
	/**
	 * 查询机构关联
	 * @param manageCom
	 */
	public DrsLdcomRelationBO queryDrsLdcomRel(String manageCom);
	
	/**
	 * 查询销售人员信息
	 * @param bankCode
	 * @param bankBranch
	 * @param bankNode
	 */
	public LaAgentBO queryAgentName(Map<String, String> conMap);
	
}
	
